草庐IT

shell 运算符

全部标签

java - 如何修复 '<>' 运算符不允许用于源级别 1.7

我正在使用JDK1.8.0。当我将代码导入Eclipse时出现错误:''operatorisnotallowedforsourcelevel1.7例子:Listerrors=newArrayList();我正在使用EclipseKepler。 最佳答案 有时我看到Eclipse对Java目标版本感到困惑,并抛出不正确的消息(即使项目设置正确以支持Java7)。修复它的最简单方法是更改​​目标版本,然后将其更改回预期的目标版本。可以通过打开项目属性对话框(右键单击项目,然后选择Properties)来检查此版本,并检查两个选项卡上的设

java - 是否可以查看 Eclipse 正在执行的 shell 命令?

我正在处理一个相当长的项目,它需要一个较旧的JDK才能正确编译、各种JAR包含等等。我正在使用批处理脚本组装整个项目,我想使用脚本使整个过程完全自动化。所以我想知道我是否可以查看Eclipse执行的shell命令,以便将一段特定的代码转换为JAR(从使用我指定的适当JDK进行编译到制作JAR),所以我不需要手动进入和浪费大量时间确保我自己在shell中做正确的事情。谢谢! 最佳答案 Eclipse不执行用于编译的shell命令。它使用自己的内置编译器。可以让Eclipse为您生成ANT脚本。该脚本可以使用Eclipse内置编译器编译

Java 相当于 Perl 的 s///运算符?

我有一些代码要从Perl转换为Java。它大量使用正则表达式,包括s///运算符。我已经使用Perl很长时间了,并且仍然习惯于Java做事的方式。特别是,字符串似乎更难处理。有谁知道或拥有完全实现s///的Java函数?这样它就可以处理这样的事情,例如:$newString=~s/(\bi'?\b)/\U$1/g;(也许不是一个很好的例子,但你明白了。)谢谢。 最佳答案 没有那么整洁,但在Java中你会使用String.replaceAll()或使用Pattern做类似的事情:Patternp=Pattern.compile("(\

java - Perl 的 qq 运算符在 Java 中的等价物是什么?

我有一个很长的字符串,其中包含许多新行(这是一个非常长的SQL语句)。当我用换行符分隔时,SQL更容易阅读。但时不时地,我需要从代码中复制sql语句以粘贴到sqldeveloper中。在Perl中,我一直喜欢qq运算符,您可以使用它来代替双引号:你可以像这样使用它:$myString=qq{SELECT*FROMtable_aaJOINtable_bbONa.id=b.id...etc};JAVA中有对应的吗?我发现不得不像这样将字符串分成几block很尴尬:StringmyString="SELECT*"+"FROMtable_aa"+"JOINtable_bbONa.id=b.id

java - Ant Java 任务 : how to get output to console and a file-always record build output without shell redirection

我正在使用ant启动Java程序。我不想在程序终止后“松散”输出。所以我使用属性“output”将输出存储在文件中。不幸的是,我没有任何控制台输出了。在控制台和txt文件中输出的好方法是什么。我正在寻找替代品antmytast>myFile.txt因为我不想,“用户”必须使用shell重定向“>..”。.如果他/她不选择重定向,则输出将丢失。 最佳答案 Ant有一种记录输出的方法。http://ant.apache.org/manual/Tasks/recorder.html.Arecorderisalistenertothecur

使用 shell 脚本的 Java 代码格式化

我知道这很愚蠢,但我无法克服好奇心。是否可以编写一个shell脚本来格式化一段java代码?例如,如果用户在代码中写入:publicclassSuper{publicstaticvoidmain(String[]args){System.out.println("Helloworld");inta=0;if(a==100){System.out.println("Helloworld");}else{System.out.println("Helloworldwithelse");}}}我想编写一个shell脚本,使代码像这样。publicclassSuper{publicstatic

Java 7 菱形运算符和派生类的初始化

classA{}classBextendsA{}classHolder{Tobject;Holder(Tobject){this.object=object;}}有一个Holder类来保存一些对象,它是使用泛型创建的。在main()中,当使用菱形运算符初始化时,它不会编译(Java7)派生类传递给Holder的构造函数(需要A/找到B):publicstaticvoidmain(String[]args){Holderholder=newHolder(newB());}但是如果在正确的部分指定了基本类型,它就可以编译并工作:publicstaticvoidmain(String[]ar

java - 为什么使用 new 运算符创建的字符串会在字符串池中创建字符串文字

我的问题是,当我们将String声明为Stringa=newString("abc");时,在字符串池和堆上创建字符串对象有什么好处?当我们将字符串创建为Stringa="abc"时,为什么不在堆中创建字符串。 最佳答案 java语言就是这么设计的。双引号之间使用的任何内容都是编译时常量并进入字符串池。所以,在你的情况下:Stringa=newString("abc");“abc”将被解析为编译时常量,因此将被添加到当前JVM的字符串常量池中。接下来,a的值将在运行时解析,并在运行时添加到堆中。

java - Eclipse 三元运算符快捷方式?

在Eclipse(3.4+以上)中,我正在寻找将if{}else{}条件block转换为java三元运算符(或?:运算符)。我该怎么做? 最佳答案 没有这样的捷径。将语句重构为表达式并不是一个微不足道的过程,而且并不总是可以开始的。该过程太复杂而无法自动化。也就是说,Ctrl+Shift+L将列出所有Eclipse快捷方式。相关问题HiddenfeaturesofEclipseWhatisyourfavoritehot-keyinEclipse 关于java-Eclipse三元运算符快捷

java - 创建一个 shell 脚本来运行 Java 程序

我使用shell脚本来运行Java类。我的脚本包含#!/bin/shjava-jarjobs/job.jar这些是我运行它的失败尝试。[root@]#shtestapp.shUnabletoaccessjarfilejobs/job.jar如果我只是在命令行执行此操作,它工作正常[root@]#java-jarjobs/job.jar谢谢。 最佳答案 最好的方法是获取当前的目录名并用这个进入:#!/bin/shcd`dirname"$0"`java-jar./job/job.jar 关于